home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
DS-CD ROM 2 1993 August
/
DS CD-ROM 2.Ausgabe (August 1993).iso
/
programm
/
ds0257
/
doc.exe
/
GETVALUE.DOC
< prev
next >
Wrap
Text File
|
1992-02-02
|
6KB
|
157 lines
─────────────────────────────────────────────────────────────────────────────
Dokumentation zur Datei: GETVALUE.INC
─────────────────────────────────────────────────────────────────────────────
GETVALUE.INC - Routinen zur Ermittlung und Konvertierung von
Werten in Zeichenketten (für den Assembler A86)
(c) Bernd Schemmer 1990 - 1992
Letzter Update: 02.02.1992
■ Hinweis:
----------
Alle Routinen zur Konvertierung von Zeichenketten erwarten einen
Wert in Form einer Zeichenkette (ohne Längenzähler) bei DS:SI.
Diese muß mit einer Ziffer beginnen.
Als Ende der Zahl gilt jedes Zeichen, das in dem entsprechenden
Zahlensystem keine Ziffer darstellt. Führende Nullen sind erlaubt,
aber nicht notwendig.
■ Variablen:
------------
FormatChar - Byte, dieses Zeichen wird beim Ermitteln
von Werten überlesen. Voreinstellung: '.'
(d.h. 34.5..6 ist das gleiche wie 3456)
■ Routinen:
-----------
Digit? - Konvertiert eine Ziffer in ihren
binären Wert
GetBinWord - Konvertiert eine Bin-String
GetOctWord - Konvertiert eine Oct-String
GetDezWord - Konvertiert eine Dez-String
GetHexWord - Konvertiert eine Hex-String
GetWord - Konvertiert eine String in einen Wert mit
einer beliebigen Basis zwischen 2 und 15
■ Fehlermeldungen der Routinen
------------------------------
Alle Fehlernummern der Routinen haben das Format 70xx, wobei xx die
Nummer des eigentlichen Fehlers ist.
Name Nummer Bedeutung
----------------------------------------------------------------------
InvalidBase EQU 7001h ; Falsche Basis angegeben
KonvertOverflow EQU 7002h ; Zahl ist zu groß
----------------------------
Digit?
Funktion: Wandelt das ASCII-Zeichen in AL in dessen Wert,
falls es sich um eine Ziffer im Intervall
von 0..F handelt.
(Für die Ziffern A..F sind Groß- undr Kleinbuchstaben
erlaubt.)
Eingabe: AL = ASCII-Zeichen
Ausgabe: CF = 0 ->> Konvertierung okay
AL = Wert
CF = 1 ->> Fehler
AL undefiniert
----------------------------
GetBinWord
Funktion: Konvertiert die Zeichenkette bei DS:SI
als vorzeichenlose Binärzahl nach AX
Eingabe: DS:SI -> Zeichenkette
Ausgabe: CF = 0 ->> Konvertierung ok
AX = Wert
CF = 1 ->> Konvertierung fehlerhaft
AX = Fehlernummer
DS:SI -> Zeichen, welches das Ende der Konvertierung
verursachte
CX = Anzahl Stellen (incl. Formatierungszeichen)
----------------------------
GetOctWord
Funktion: Konvertiert die Zeichenkette bei DS:SI
als vorzeichenlose Zahl in Octal-Form nach AX
Eingabe: DS:SI -> Zeichenkette
Ausgabe: CF = 0 ->> Konvertierung ok
AX = Wert
CF = 1 ->> Konvertierung fehlerhaft
AX = Fehlernummer
DS:SI -> Zeichen, welches das Ende der Konvertierung
verursachte
CX = Anzahl Stellen (incl. Formatierungszeichen)
----------------------------
GetDezWord
Funktion: Konvertiert die Zeichenkette bei DS:SI
als vorzeichenlose Zahl in Dezimal-Form nach AX
Eingabe: DS:SI -> Zeichenkette
Ausgabe: CF = 0 ->> Zahl okay
AX = Wert
CF = 1 ->> Fehler
AX = Fehlernummer
DS:SI -> Zeichen, welches das Ende der Konvertierung
verursachte
CX = Anzahl Stellen (incl. Formatierungszeichen)
----------------------------
GetHexWord
Funktion: Konvertiert die Zeichenkette bei DS:SI als
vorzeichenlose Zahl in hexadezimal-Form nach AX
Eingabe: DS:SI -> Zeichenkette
Ausgabe: CF = 0 ->> Konvertierung ok
AX = Wert
CF = 1 ->> Konvertierung fehlerhaft
AX = Fehlernummer
DS:SI -> Zeichen, welches das Ende der Konvertierung
verursachte
CX = Anzahl Stellen (incl. Formatierungszeichen)
----------------------------
GetWord
Funktion: Konvertiert die Zeichenkette bei DS:SI als
vorzeichenlose Zahl in einem beliebigen Format
mit einer Basis zwischen 0 und 15 nach AX
Eingabe: DS:SI -> Zeichenkette
CL = Basis (2 .. 15)
Ausgabe: DS:SI -> Zeichen, welches das Ende der
Konvertierung verursachte
CX = Anzahl Stellen (incl. Formatierungszeichen)
CF = 0 ->> okay
AX = Wert
CF = 1 ->> Fehler
AX = Fehlernummer
Falls AX = InvalidBase ist, wurden DS, SI
und CX nicht verändert